<?php

/**
 * 小程序服务商管理系统 v1.0.1
 *
 * 商业运营到axzz.cn官网进行授权使用。
 *
 * (c) cighsen02 <xiayu@959602.com>
 *
 * Create at：2025.04.18
 * Update at: 2025.05.03
*/

namespace App\Services\Auth;

use App\Http\Resources\UserResource;
use App\Models\User as UserModel;
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;

/**
 * 会员服务层
 */
class User
{
    /**
     * 列表
     *
     * @return AnonymousResourceCollection
     */
    public function index(): AnonymousResourceCollection
    {
        $users = UserModel::all();

        return UserResource::collection($users);
    }

    /**
     * 增加
     *
     * @param array $data
     * @return UserResource
     */
    public function store(array $data): UserResource
    {
        $user = UserModel::create($data);

        return new UserResource($user);
    }

    /**
     * 查看
     *
     * @param $id
     * @return UserResource
     */
    public function show($id): UserResource
    {
        $user = UserModel::findOrFail($id);

        return new UserResource($user);
    }

    /**
     * 更新
     *
     * @param array $data
     * @param $id
     * @return UserResource
     */
    public function update(array $data, $id): UserResource
    {
        $user = UserModel::findOrFail($id);
        // 执行更新
        if (!empty($data)) $user->update($data);

        return new UserResource($user);
    }

    /**
     * 删除
     *
     * @param $id
     * @return void
     */
    public function destroy($id): void
    {
        $user = UserModel::findOrFail($id);

        $user->delete();
    }
}
